<?php
namespace frontend\models;

use Yii;
use yii\base\Model;

/**
 * ContactForm is the model behind the contact form.
 */
class ContactForm extends Model
{

    public $name;

    public $email;

    public $subject;

    public $body;

    public $verifyCode;

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            // name, email, subject and body are required
            [
                [
                    'name',
                    'email',
                    'subject',
                    'body'
                ],
                'required'
            ],
            // email has to be a valid email address
            [
                'email',
                'email'
            ],
            // verifyCode needs to be entered correctly
            [
                'verifyCode',
                'captcha'
            ]
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'verifyCode' => 'Verification Code'
        ];
    }

    /**
     * Sends an email to the specified email address using the information collected by this model.
     *
     * @param string $email
     *            the target email address
     * @return boolean whether the email was sent
     */
    public function sendEmail($email)
    {
        return Yii::$app->mailer->compose()
            ->setTo($email)
            ->setFrom([
            $this->email => $this->name
        ])
            ->setSubject($this->subject)
            ->setTextBody($this->body)
            ->send();
    }
}
